package com.sunny.fetch.pojo;

import java.util.ArrayList;
import java.util.List;

public class FOptBasicExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FOptBasicExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Long value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Long value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Long value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Long value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Long value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Long value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Long> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Long> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Long value1, Long value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Long value1, Long value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTsCodeIsNull() {
            addCriterion("ts_code is null");
            return (Criteria) this;
        }

        public Criteria andTsCodeIsNotNull() {
            addCriterion("ts_code is not null");
            return (Criteria) this;
        }

        public Criteria andTsCodeEqualTo(String value) {
            addCriterion("ts_code =", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotEqualTo(String value) {
            addCriterion("ts_code <>", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeGreaterThan(String value) {
            addCriterion("ts_code >", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeGreaterThanOrEqualTo(String value) {
            addCriterion("ts_code >=", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLessThan(String value) {
            addCriterion("ts_code <", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLessThanOrEqualTo(String value) {
            addCriterion("ts_code <=", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeLike(String value) {
            addCriterion("ts_code like", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotLike(String value) {
            addCriterion("ts_code not like", value, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeIn(List<String> values) {
            addCriterion("ts_code in", values, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotIn(List<String> values) {
            addCriterion("ts_code not in", values, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeBetween(String value1, String value2) {
            addCriterion("ts_code between", value1, value2, "tsCode");
            return (Criteria) this;
        }

        public Criteria andTsCodeNotBetween(String value1, String value2) {
            addCriterion("ts_code not between", value1, value2, "tsCode");
            return (Criteria) this;
        }

        public Criteria andExchangeIsNull() {
            addCriterion("exchange is null");
            return (Criteria) this;
        }

        public Criteria andExchangeIsNotNull() {
            addCriterion("exchange is not null");
            return (Criteria) this;
        }

        public Criteria andExchangeEqualTo(String value) {
            addCriterion("exchange =", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotEqualTo(String value) {
            addCriterion("exchange <>", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeGreaterThan(String value) {
            addCriterion("exchange >", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeGreaterThanOrEqualTo(String value) {
            addCriterion("exchange >=", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLessThan(String value) {
            addCriterion("exchange <", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLessThanOrEqualTo(String value) {
            addCriterion("exchange <=", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLike(String value) {
            addCriterion("exchange like", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotLike(String value) {
            addCriterion("exchange not like", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeIn(List<String> values) {
            addCriterion("exchange in", values, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotIn(List<String> values) {
            addCriterion("exchange not in", values, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeBetween(String value1, String value2) {
            addCriterion("exchange between", value1, value2, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotBetween(String value1, String value2) {
            addCriterion("exchange not between", value1, value2, "exchange");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andPerUnitIsNull() {
            addCriterion("per_unit is null");
            return (Criteria) this;
        }

        public Criteria andPerUnitIsNotNull() {
            addCriterion("per_unit is not null");
            return (Criteria) this;
        }

        public Criteria andPerUnitEqualTo(String value) {
            addCriterion("per_unit =", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitNotEqualTo(String value) {
            addCriterion("per_unit <>", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitGreaterThan(String value) {
            addCriterion("per_unit >", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitGreaterThanOrEqualTo(String value) {
            addCriterion("per_unit >=", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitLessThan(String value) {
            addCriterion("per_unit <", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitLessThanOrEqualTo(String value) {
            addCriterion("per_unit <=", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitLike(String value) {
            addCriterion("per_unit like", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitNotLike(String value) {
            addCriterion("per_unit not like", value, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitIn(List<String> values) {
            addCriterion("per_unit in", values, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitNotIn(List<String> values) {
            addCriterion("per_unit not in", values, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitBetween(String value1, String value2) {
            addCriterion("per_unit between", value1, value2, "perUnit");
            return (Criteria) this;
        }

        public Criteria andPerUnitNotBetween(String value1, String value2) {
            addCriterion("per_unit not between", value1, value2, "perUnit");
            return (Criteria) this;
        }

        public Criteria andOptCodeIsNull() {
            addCriterion("opt_code is null");
            return (Criteria) this;
        }

        public Criteria andOptCodeIsNotNull() {
            addCriterion("opt_code is not null");
            return (Criteria) this;
        }

        public Criteria andOptCodeEqualTo(String value) {
            addCriterion("opt_code =", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotEqualTo(String value) {
            addCriterion("opt_code <>", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeGreaterThan(String value) {
            addCriterion("opt_code >", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_code >=", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLessThan(String value) {
            addCriterion("opt_code <", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLessThanOrEqualTo(String value) {
            addCriterion("opt_code <=", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeLike(String value) {
            addCriterion("opt_code like", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotLike(String value) {
            addCriterion("opt_code not like", value, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeIn(List<String> values) {
            addCriterion("opt_code in", values, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotIn(List<String> values) {
            addCriterion("opt_code not in", values, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeBetween(String value1, String value2) {
            addCriterion("opt_code between", value1, value2, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptCodeNotBetween(String value1, String value2) {
            addCriterion("opt_code not between", value1, value2, "optCode");
            return (Criteria) this;
        }

        public Criteria andOptTypeIsNull() {
            addCriterion("opt_type is null");
            return (Criteria) this;
        }

        public Criteria andOptTypeIsNotNull() {
            addCriterion("opt_type is not null");
            return (Criteria) this;
        }

        public Criteria andOptTypeEqualTo(String value) {
            addCriterion("opt_type =", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeNotEqualTo(String value) {
            addCriterion("opt_type <>", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeGreaterThan(String value) {
            addCriterion("opt_type >", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeGreaterThanOrEqualTo(String value) {
            addCriterion("opt_type >=", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeLessThan(String value) {
            addCriterion("opt_type <", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeLessThanOrEqualTo(String value) {
            addCriterion("opt_type <=", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeLike(String value) {
            addCriterion("opt_type like", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeNotLike(String value) {
            addCriterion("opt_type not like", value, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeIn(List<String> values) {
            addCriterion("opt_type in", values, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeNotIn(List<String> values) {
            addCriterion("opt_type not in", values, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeBetween(String value1, String value2) {
            addCriterion("opt_type between", value1, value2, "optType");
            return (Criteria) this;
        }

        public Criteria andOptTypeNotBetween(String value1, String value2) {
            addCriterion("opt_type not between", value1, value2, "optType");
            return (Criteria) this;
        }

        public Criteria andCallPutIsNull() {
            addCriterion("call_put is null");
            return (Criteria) this;
        }

        public Criteria andCallPutIsNotNull() {
            addCriterion("call_put is not null");
            return (Criteria) this;
        }

        public Criteria andCallPutEqualTo(String value) {
            addCriterion("call_put =", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutNotEqualTo(String value) {
            addCriterion("call_put <>", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutGreaterThan(String value) {
            addCriterion("call_put >", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutGreaterThanOrEqualTo(String value) {
            addCriterion("call_put >=", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutLessThan(String value) {
            addCriterion("call_put <", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutLessThanOrEqualTo(String value) {
            addCriterion("call_put <=", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutLike(String value) {
            addCriterion("call_put like", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutNotLike(String value) {
            addCriterion("call_put not like", value, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutIn(List<String> values) {
            addCriterion("call_put in", values, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutNotIn(List<String> values) {
            addCriterion("call_put not in", values, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutBetween(String value1, String value2) {
            addCriterion("call_put between", value1, value2, "callPut");
            return (Criteria) this;
        }

        public Criteria andCallPutNotBetween(String value1, String value2) {
            addCriterion("call_put not between", value1, value2, "callPut");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeIsNull() {
            addCriterion("exercise_type is null");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeIsNotNull() {
            addCriterion("exercise_type is not null");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeEqualTo(String value) {
            addCriterion("exercise_type =", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeNotEqualTo(String value) {
            addCriterion("exercise_type <>", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeGreaterThan(String value) {
            addCriterion("exercise_type >", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeGreaterThanOrEqualTo(String value) {
            addCriterion("exercise_type >=", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeLessThan(String value) {
            addCriterion("exercise_type <", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeLessThanOrEqualTo(String value) {
            addCriterion("exercise_type <=", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeLike(String value) {
            addCriterion("exercise_type like", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeNotLike(String value) {
            addCriterion("exercise_type not like", value, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeIn(List<String> values) {
            addCriterion("exercise_type in", values, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeNotIn(List<String> values) {
            addCriterion("exercise_type not in", values, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeBetween(String value1, String value2) {
            addCriterion("exercise_type between", value1, value2, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExerciseTypeNotBetween(String value1, String value2) {
            addCriterion("exercise_type not between", value1, value2, "exerciseType");
            return (Criteria) this;
        }

        public Criteria andExercisePriceIsNull() {
            addCriterion("exercise_price is null");
            return (Criteria) this;
        }

        public Criteria andExercisePriceIsNotNull() {
            addCriterion("exercise_price is not null");
            return (Criteria) this;
        }

        public Criteria andExercisePriceEqualTo(Float value) {
            addCriterion("exercise_price =", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceNotEqualTo(Float value) {
            addCriterion("exercise_price <>", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceGreaterThan(Float value) {
            addCriterion("exercise_price >", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceGreaterThanOrEqualTo(Float value) {
            addCriterion("exercise_price >=", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceLessThan(Float value) {
            addCriterion("exercise_price <", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceLessThanOrEqualTo(Float value) {
            addCriterion("exercise_price <=", value, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceIn(List<Float> values) {
            addCriterion("exercise_price in", values, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceNotIn(List<Float> values) {
            addCriterion("exercise_price not in", values, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceBetween(Float value1, Float value2) {
            addCriterion("exercise_price between", value1, value2, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andExercisePriceNotBetween(Float value1, Float value2) {
            addCriterion("exercise_price not between", value1, value2, "exercisePrice");
            return (Criteria) this;
        }

        public Criteria andSMonthIsNull() {
            addCriterion("s_month is null");
            return (Criteria) this;
        }

        public Criteria andSMonthIsNotNull() {
            addCriterion("s_month is not null");
            return (Criteria) this;
        }

        public Criteria andSMonthEqualTo(String value) {
            addCriterion("s_month =", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthNotEqualTo(String value) {
            addCriterion("s_month <>", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthGreaterThan(String value) {
            addCriterion("s_month >", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthGreaterThanOrEqualTo(String value) {
            addCriterion("s_month >=", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthLessThan(String value) {
            addCriterion("s_month <", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthLessThanOrEqualTo(String value) {
            addCriterion("s_month <=", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthLike(String value) {
            addCriterion("s_month like", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthNotLike(String value) {
            addCriterion("s_month not like", value, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthIn(List<String> values) {
            addCriterion("s_month in", values, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthNotIn(List<String> values) {
            addCriterion("s_month not in", values, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthBetween(String value1, String value2) {
            addCriterion("s_month between", value1, value2, "sMonth");
            return (Criteria) this;
        }

        public Criteria andSMonthNotBetween(String value1, String value2) {
            addCriterion("s_month not between", value1, value2, "sMonth");
            return (Criteria) this;
        }

        public Criteria andMaturityDateIsNull() {
            addCriterion("maturity_date is null");
            return (Criteria) this;
        }

        public Criteria andMaturityDateIsNotNull() {
            addCriterion("maturity_date is not null");
            return (Criteria) this;
        }

        public Criteria andMaturityDateEqualTo(String value) {
            addCriterion("maturity_date =", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateNotEqualTo(String value) {
            addCriterion("maturity_date <>", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateGreaterThan(String value) {
            addCriterion("maturity_date >", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateGreaterThanOrEqualTo(String value) {
            addCriterion("maturity_date >=", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateLessThan(String value) {
            addCriterion("maturity_date <", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateLessThanOrEqualTo(String value) {
            addCriterion("maturity_date <=", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateLike(String value) {
            addCriterion("maturity_date like", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateNotLike(String value) {
            addCriterion("maturity_date not like", value, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateIn(List<String> values) {
            addCriterion("maturity_date in", values, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateNotIn(List<String> values) {
            addCriterion("maturity_date not in", values, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateBetween(String value1, String value2) {
            addCriterion("maturity_date between", value1, value2, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andMaturityDateNotBetween(String value1, String value2) {
            addCriterion("maturity_date not between", value1, value2, "maturityDate");
            return (Criteria) this;
        }

        public Criteria andListPriceIsNull() {
            addCriterion("list_price is null");
            return (Criteria) this;
        }

        public Criteria andListPriceIsNotNull() {
            addCriterion("list_price is not null");
            return (Criteria) this;
        }

        public Criteria andListPriceEqualTo(Float value) {
            addCriterion("list_price =", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceNotEqualTo(Float value) {
            addCriterion("list_price <>", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceGreaterThan(Float value) {
            addCriterion("list_price >", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceGreaterThanOrEqualTo(Float value) {
            addCriterion("list_price >=", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceLessThan(Float value) {
            addCriterion("list_price <", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceLessThanOrEqualTo(Float value) {
            addCriterion("list_price <=", value, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceIn(List<Float> values) {
            addCriterion("list_price in", values, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceNotIn(List<Float> values) {
            addCriterion("list_price not in", values, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceBetween(Float value1, Float value2) {
            addCriterion("list_price between", value1, value2, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListPriceNotBetween(Float value1, Float value2) {
            addCriterion("list_price not between", value1, value2, "listPrice");
            return (Criteria) this;
        }

        public Criteria andListDateIsNull() {
            addCriterion("list_date is null");
            return (Criteria) this;
        }

        public Criteria andListDateIsNotNull() {
            addCriterion("list_date is not null");
            return (Criteria) this;
        }

        public Criteria andListDateEqualTo(String value) {
            addCriterion("list_date =", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateNotEqualTo(String value) {
            addCriterion("list_date <>", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateGreaterThan(String value) {
            addCriterion("list_date >", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateGreaterThanOrEqualTo(String value) {
            addCriterion("list_date >=", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateLessThan(String value) {
            addCriterion("list_date <", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateLessThanOrEqualTo(String value) {
            addCriterion("list_date <=", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateLike(String value) {
            addCriterion("list_date like", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateNotLike(String value) {
            addCriterion("list_date not like", value, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateIn(List<String> values) {
            addCriterion("list_date in", values, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateNotIn(List<String> values) {
            addCriterion("list_date not in", values, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateBetween(String value1, String value2) {
            addCriterion("list_date between", value1, value2, "listDate");
            return (Criteria) this;
        }

        public Criteria andListDateNotBetween(String value1, String value2) {
            addCriterion("list_date not between", value1, value2, "listDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateIsNull() {
            addCriterion("delist_date is null");
            return (Criteria) this;
        }

        public Criteria andDelistDateIsNotNull() {
            addCriterion("delist_date is not null");
            return (Criteria) this;
        }

        public Criteria andDelistDateEqualTo(String value) {
            addCriterion("delist_date =", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateNotEqualTo(String value) {
            addCriterion("delist_date <>", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateGreaterThan(String value) {
            addCriterion("delist_date >", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateGreaterThanOrEqualTo(String value) {
            addCriterion("delist_date >=", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateLessThan(String value) {
            addCriterion("delist_date <", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateLessThanOrEqualTo(String value) {
            addCriterion("delist_date <=", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateLike(String value) {
            addCriterion("delist_date like", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateNotLike(String value) {
            addCriterion("delist_date not like", value, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateIn(List<String> values) {
            addCriterion("delist_date in", values, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateNotIn(List<String> values) {
            addCriterion("delist_date not in", values, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateBetween(String value1, String value2) {
            addCriterion("delist_date between", value1, value2, "delistDate");
            return (Criteria) this;
        }

        public Criteria andDelistDateNotBetween(String value1, String value2) {
            addCriterion("delist_date not between", value1, value2, "delistDate");
            return (Criteria) this;
        }

        public Criteria andLastEdateIsNull() {
            addCriterion("last_edate is null");
            return (Criteria) this;
        }

        public Criteria andLastEdateIsNotNull() {
            addCriterion("last_edate is not null");
            return (Criteria) this;
        }

        public Criteria andLastEdateEqualTo(String value) {
            addCriterion("last_edate =", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateNotEqualTo(String value) {
            addCriterion("last_edate <>", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateGreaterThan(String value) {
            addCriterion("last_edate >", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateGreaterThanOrEqualTo(String value) {
            addCriterion("last_edate >=", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateLessThan(String value) {
            addCriterion("last_edate <", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateLessThanOrEqualTo(String value) {
            addCriterion("last_edate <=", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateLike(String value) {
            addCriterion("last_edate like", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateNotLike(String value) {
            addCriterion("last_edate not like", value, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateIn(List<String> values) {
            addCriterion("last_edate in", values, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateNotIn(List<String> values) {
            addCriterion("last_edate not in", values, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateBetween(String value1, String value2) {
            addCriterion("last_edate between", value1, value2, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastEdateNotBetween(String value1, String value2) {
            addCriterion("last_edate not between", value1, value2, "lastEdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateIsNull() {
            addCriterion("last_ddate is null");
            return (Criteria) this;
        }

        public Criteria andLastDdateIsNotNull() {
            addCriterion("last_ddate is not null");
            return (Criteria) this;
        }

        public Criteria andLastDdateEqualTo(String value) {
            addCriterion("last_ddate =", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateNotEqualTo(String value) {
            addCriterion("last_ddate <>", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateGreaterThan(String value) {
            addCriterion("last_ddate >", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateGreaterThanOrEqualTo(String value) {
            addCriterion("last_ddate >=", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateLessThan(String value) {
            addCriterion("last_ddate <", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateLessThanOrEqualTo(String value) {
            addCriterion("last_ddate <=", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateLike(String value) {
            addCriterion("last_ddate like", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateNotLike(String value) {
            addCriterion("last_ddate not like", value, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateIn(List<String> values) {
            addCriterion("last_ddate in", values, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateNotIn(List<String> values) {
            addCriterion("last_ddate not in", values, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateBetween(String value1, String value2) {
            addCriterion("last_ddate between", value1, value2, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andLastDdateNotBetween(String value1, String value2) {
            addCriterion("last_ddate not between", value1, value2, "lastDdate");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitIsNull() {
            addCriterion("quote_unit is null");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitIsNotNull() {
            addCriterion("quote_unit is not null");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitEqualTo(String value) {
            addCriterion("quote_unit =", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitNotEqualTo(String value) {
            addCriterion("quote_unit <>", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitGreaterThan(String value) {
            addCriterion("quote_unit >", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitGreaterThanOrEqualTo(String value) {
            addCriterion("quote_unit >=", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitLessThan(String value) {
            addCriterion("quote_unit <", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitLessThanOrEqualTo(String value) {
            addCriterion("quote_unit <=", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitLike(String value) {
            addCriterion("quote_unit like", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitNotLike(String value) {
            addCriterion("quote_unit not like", value, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitIn(List<String> values) {
            addCriterion("quote_unit in", values, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitNotIn(List<String> values) {
            addCriterion("quote_unit not in", values, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitBetween(String value1, String value2) {
            addCriterion("quote_unit between", value1, value2, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andQuoteUnitNotBetween(String value1, String value2) {
            addCriterion("quote_unit not between", value1, value2, "quoteUnit");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgIsNull() {
            addCriterion("min_price_chg is null");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgIsNotNull() {
            addCriterion("min_price_chg is not null");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgEqualTo(String value) {
            addCriterion("min_price_chg =", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgNotEqualTo(String value) {
            addCriterion("min_price_chg <>", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgGreaterThan(String value) {
            addCriterion("min_price_chg >", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgGreaterThanOrEqualTo(String value) {
            addCriterion("min_price_chg >=", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgLessThan(String value) {
            addCriterion("min_price_chg <", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgLessThanOrEqualTo(String value) {
            addCriterion("min_price_chg <=", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgLike(String value) {
            addCriterion("min_price_chg like", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgNotLike(String value) {
            addCriterion("min_price_chg not like", value, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgIn(List<String> values) {
            addCriterion("min_price_chg in", values, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgNotIn(List<String> values) {
            addCriterion("min_price_chg not in", values, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgBetween(String value1, String value2) {
            addCriterion("min_price_chg between", value1, value2, "minPriceChg");
            return (Criteria) this;
        }

        public Criteria andMinPriceChgNotBetween(String value1, String value2) {
            addCriterion("min_price_chg not between", value1, value2, "minPriceChg");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}